package pl.PawelAndAlicja.badugiproject.main;

import java.util.Random;

class stol{     // stół, który rozdaje karty

    private String[] talia = {"Ak", "2k", "3k", "4k","5k", "6k", "7k", "8k", "9k", "10k", "Jk", "Dk", "Kk","Ad", "2d", "3d", "4d","5d", "6d", "7d", "8d", "9d", "10d", "Jd", "Dd", "Kd", "At", "2t", "3t", "4t","5t", "6t", "7t", "8t", "9t", "10t", "Jt", "Dt", "Kt", "Ap", "2p", "3p", "4p","5p", "6p", "7p", "8p", "9p", "10p", "Jp", "Dp", "Kp"};

    String rozdaj(int iluGraczy,
                  int licznik){    //funkcja rozdająca karty graczom

        String[] talia = this.talia;
        int i=0;
        int wylosowanaKarta=0;
        String wylosowane = "";

        while(i<4){
            Random r = new Random();
            wylosowanaKarta=r.nextInt(51-licznik)+1; // wylosuj liczbę z zakresu [0,zakres]

            while(talia[wylosowanaKarta]==null){
                wylosowanaKarta=r.nextInt(51-licznik)+1;
            }
            wylosowane = wylosowane + " "+ talia[wylosowanaKarta];
            //System.out.print(talia[wylosowanaKarta] + " ");

            int j = wylosowanaKarta;
            while( j<51-licznik -1)  {      // usuwamy wylosowaną kartę z talii (żeby inny gracz nie dostał takiej samej)
                talia[j] = talia[j+1];
                //System.out.print(talia[j] + "   ");
                j++;
            }

            talia[51-licznik -1] = null;     // po usunięciu karty z talii na końcu tablicy wstawiamy null
            //System.out.print( "koniec");
            licznik++;
            i++;
        }

        System.out.println("");
        if(iluGraczy == 2){
            return rozdaj (1,0) + rozdaj(1, 0);
        }
        if(iluGraczy == 3){
            return rozdaj(2,0) + rozdaj(1, 0);
        }
        if(iluGraczy == 4){
            return rozdaj(3, 0) + rozdaj(1,0);
        }
        if(iluGraczy == 5){
            return rozdaj(4, 0) + rozdaj(1,0);
        }
        if(iluGraczy == 6){
            return rozdaj(5, 0) + rozdaj(1,0);
        }

        return wylosowane;
    }


    void włóżKartę(String karta){     // wkłada do talii kartę, którą wymienił gracz

        int i=0;
        while(i<52){
            if(talia[i]==null){
                talia[i]= karta;
            }
            else{
                i++;
            }
        }
    }

    String losujKartę(){   // stąd gracz losuje kartę przy wymianie

        String karta="";
        int wylosowana=0;
        Random r = new Random();
        wylosowana=r.nextInt(51)+1;
        while(talia[wylosowana]==null){
            wylosowana=r.nextInt(51)+1;
        }
        karta=talia[wylosowana];

        return karta;
    }
}
